## API Report File for "@backstage/plugin-code-climate"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { DiscoveryApi } from '@backstage/core-plugin-api';
import { FetchApi } from '@backstage/core-plugin-api';
import { JSX as JSX_2 } from 'react';
import { RouteRef } from '@backstage/core-plugin-api';

// @public (undocumented)
export interface CodeClimateApi {
  // (undocumented)
  fetchData(repoID: string): Promise<CodeClimateData>;
}

// @public (undocumented)
export const codeClimateApiRef: ApiRef<CodeClimateApi>;

// @public (undocumented)
export type CodeClimateData = {
  repoID: string;
  maintainability: {
    letter: string;
    value: string;
  };
  testCoverage: {
    letter: string;
    value: string;
  };
  numberOfCodeSmells: number;
  numberOfDuplication: number;
  numberOfOtherIssues: number;
};

// @public (undocumented)
export const codeClimatePlugin: BackstagePlugin<
  {
    root: RouteRef<undefined>;
  },
  {}
>;

// @public (undocumented)
export const EntityCodeClimateCard: () => JSX_2.Element;

// @public (undocumented)
export class MockCodeClimateApi implements CodeClimateApi {
  // (undocumented)
  fetchData(): Promise<CodeClimateData>;
}

// @public (undocumented)
export class ProductionCodeClimateApi implements CodeClimateApi {
  constructor(options: { discoveryApi: DiscoveryApi; fetchApi: FetchApi });
  // (undocumented)
  fetchAllData(options: {
    apiUrl: string;
    repoID: string;
    snapshotID: string;
    testReportID: string;
  }): Promise<any>;
  // (undocumented)
  fetchData(repoID: string): Promise<CodeClimateData>;
}
```
